The development and application of rule engines is one branch of Artificial Intelligence (A.I.), which is a very broad research area that focuses on “making computers think like people.” Broadly speaking, a rule engine processes information by applying rules to data objects (also known as facts). A rule is a logical construct for describing the operations, definitions, conditions, and/or constraints that apply to some predetermined data to achieve a goal. Various types of rule engines have been developed to evaluate and process rules. Conventionally, a rule engine implements a network to process rules and data objects, such as a Rete network. A network may include many different types of nodes, including, for example, object-type nodes, alpha nodes, left-input-adapter nodes, eval nodes, join nodes, not nodes, and terminal nodes, etc.
In a Rete network, alpha nodes are responsible for evaluating the constraints that are self-contained to a single fact. Such constraints are also referred to as Alpha Constraints. For example, an exemplary literal constraint is: Customer(type==“VIP”), where the “type” attribute of each Customer fact is compared to the constant string “VIP.” If the “type” attribute of a Customer fact is equal to “VIP,” then the constraint evaluates to true. Otherwise, the constraint evaluates to false. Such constraints do not depend on other facts present in the working memory. In other words, these constraints do not require joins to other facts.
Conventionally, a Rete rule engine creates an alpha node for each of these constraints. When a new fact is asserted into the engine, the engine evaluates all constraints in sequence. For instance, an exemplary rulebase contains eight rules, each with one alpha constraint in the form of:    Rule 1: Customer(type==“some value 1”)    Rule 2: Customer(type==“some value 2”)    . . .    Rule 8: Customer(type==“some value 8”)
For each Customer fact asserted into the working memory of the Rete rule engine, all of the above eight constraints are evaluated, even though only one of them may be activated, if matched. FIG. 1 illustrates a conceptual diagram of the evaluation of a fact asserted into the rule engine. There are eight constraints 110-118 in the rulebase, and the fact 120 asserted is evaluated against each of the eight constraints 110-118 as indicated by the lines between the fact 120 and the constraints 110-118. Thus, if a thousand (1000) facts are asserted into the rule engine, the rule engine may perform up to eight thousands (i.e., 8×1000=8000) constraint evaluation.